[INFO] cloning repository https://github.com/harryhanYuhao/tex-helper
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/harryhanYuhao/tex-helper" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FharryhanYuhao%2Ftex-helper", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FharryhanYuhao%2Ftex-helper'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f0d9e44e7f59e19f033693e3a577f379a0817c2f
[INFO] checking harryhanYuhao/tex-helper against try#21cad1f647cfd05a566220f933edd88a53e50bcf for pr-129249-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FharryhanYuhao%2Ftex-helper" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/harryhanYuhao/tex-helper
[INFO] finished tweaking git repo https://github.com/harryhanYuhao/tex-helper
[INFO] tweaked toml for git repo https://github.com/harryhanYuhao/tex-helper written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/harryhanYuhao/tex-helper on toolchain 21cad1f647cfd05a566220f933edd88a53e50bcf
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+21cad1f647cfd05a566220f933edd88a53e50bcf" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/harryhanYuhao/tex-helper already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+21cad1f647cfd05a566220f933edd88a53e50bcf" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3e793bdf10248eb2ddbd6b0faebed8155c11b4589982e2893733958d93e8d540" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d5eda3941f35d57dfce58e142392cc18e8b0cb6f6add0e794a751128ec29a875
[INFO] running `Command { std: "docker" "start" "d5eda3941f35d57dfce58e142392cc18e8b0cb6f6add0e794a751128ec29a875", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d5eda3941f35d57dfce58e142392cc18e8b0cb6f6add0e794a751128ec29a875" "/opt/rustwide/cargo-home/bin/cargo" "+21cad1f647cfd05a566220f933edd88a53e50bcf" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d5eda3941f35d57dfce58e142392cc18e8b0cb6f6add0e794a751128ec29a875", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d5eda3941f35d57dfce58e142392cc18e8b0cb6f6add0e794a751128ec29a875" "/opt/rustwide/cargo-home/bin/cargo" "+21cad1f647cfd05a566220f933edd88a53e50bcf" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]    Compiling unicode-ident v1.0.14
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling time-core v0.1.6
[INFO] [stderr]     Checking num_threads v0.1.7
[INFO] [stderr]     Checking winnow v0.7.14
[INFO] [stderr]     Checking deranged v0.5.3
[INFO] [stderr]     Checking clap_lex v0.7.4
[INFO] [stderr]     Checking anstream v0.6.18
[INFO] [stderr]     Checking toml_writer v1.0.6+spec-1.1.0
[INFO] [stderr]     Checking colored v2.2.0
[INFO] [stderr]    Compiling time-macros v0.2.24
[INFO] [stderr]     Checking clap_builder v4.5.23
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling syn v2.0.93
[INFO] [stderr]     Checking time v0.3.43
[INFO] [stderr]     Checking toml_parser v1.0.9+spec-1.1.0
[INFO] [stderr]     Checking simplelog v0.12.2
[INFO] [stderr]     Checking toml_datetime v1.0.0+spec-1.1.0
[INFO] [stderr]     Checking serde_spanned v1.0.4
[INFO] [stderr]     Checking toml v1.0.3+spec-1.1.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.5.18
[INFO] [stderr]     Checking clap v4.5.23
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking tex-helper v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `lazy_static::lazy_static`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use lazy_static::lazy_static;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/main.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lazy_static::lazy_static`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use lazy_static::lazy_static;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/main.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::latex_interpreter::parser`
[INFO] [stdout]    --> src/latex_interpreter/error.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |     use crate::latex_interpreter::parser;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/config.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `is_root` is assigned to, but never used
[INFO] [stdout]    --> src/latex_interpreter/ast.rs:381:13
[INFO] [stdout]     |
[INFO] [stdout] 381 |         let mut is_root: bool = false;
[INFO] [stdout]     |             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_is_root` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/latex_interpreter/ast.rs:382:13
[INFO] [stdout]     |
[INFO] [stdout] 382 |         let node = if self.stack.is_empty() {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `is_root` is never read
[INFO] [stdout]    --> src/latex_interpreter/ast.rs:383:13
[INFO] [stdout]     |
[INFO] [stdout] 383 |             is_root = true;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:185:29
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub fn format(ast: NodePtr, config: &Config) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]     |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ret`
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:368:25
[INFO] [stdout]     |
[INFO] [stdout] 368 |                     let ret = format_command(c.clone(), state);
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_ret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:384:5
[INFO] [stdout]     |
[INFO] [stdout] 384 |     state: &mut FormatState,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:396:5
[INFO] [stdout]     |
[INFO] [stdout] 396 |     state: &mut FormatState,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:406:23
[INFO] [stdout]     |
[INFO] [stdout] 406 | fn format_inline_math(node: NodePtr, state: &mut FormatState) -> Vec<String> {
[INFO] [stdout]     |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:406:38
[INFO] [stdout]     |
[INFO] [stdout] 406 | fn format_inline_math(node: NodePtr, state: &mut FormatState) -> Vec<String> {
[INFO] [stdout]     |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:410:24
[INFO] [stdout]     |
[INFO] [stdout] 410 | fn format_display_math(node: NodePtr, state: &mut FormatState) -> Vec<String> {
[INFO] [stdout]     |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:410:39
[INFO] [stdout]     |
[INFO] [stdout] 410 | fn format_display_math(node: NodePtr, state: &mut FormatState) -> Vec<String> {
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:414:16
[INFO] [stdout]     |
[INFO] [stdout] 414 | fn format_envr(node: NodePtr, state: &mut FormatState) -> Vec<String> {
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:414:31
[INFO] [stdout]     |
[INFO] [stdout] 414 | fn format_envr(node: NodePtr, state: &mut FormatState) -> Vec<String> {
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:418:19
[INFO] [stdout]     |
[INFO] [stdout] 418 | fn format_command(node: NodePtr, state: &mut FormatState) -> Vec<String> {
[INFO] [stdout]     |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:418:34
[INFO] [stdout]     |
[INFO] [stdout] 418 | fn format_command(node: NodePtr, state: &mut FormatState) -> Vec<String> {
[INFO] [stdout]     |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:422:21
[INFO] [stdout]     |
[INFO] [stdout] 422 | fn format_operation(node: NodePtr, state: &mut FormatState) -> Vec<String> {
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:422:36
[INFO] [stdout]     |
[INFO] [stdout] 422 | fn format_operation(node: NodePtr, state: &mut FormatState) -> Vec<String> {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_path`
[INFO] [stdout]   --> src/latex_interpreter/scanner.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let source_path = file_input.get_file_path();
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/config.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `is_root` is assigned to, but never used
[INFO] [stdout]    --> src/latex_interpreter/ast.rs:381:13
[INFO] [stdout]     |
[INFO] [stdout] 381 |         let mut is_root: bool = false;
[INFO] [stdout]     |             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_is_root` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/latex_interpreter/ast.rs:382:13
[INFO] [stdout]     |
[INFO] [stdout] 382 |         let node = if self.stack.is_empty() {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `is_root` is never read
[INFO] [stdout]    --> src/latex_interpreter/ast.rs:383:13
[INFO] [stdout]     |
[INFO] [stdout] 383 |             is_root = true;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compile` is never used
[INFO] [stdout]  --> src/cli/compile.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn compile(main_file_path: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DebugLevel` is never used
[INFO] [stdout]   --> src/config.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum DebugLevel{
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_latex_binary` is never used
[INFO] [stdout]   --> src/config.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Config {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn get_latex_binary(&self) -> Option<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DoubleBackSlash` is never constructed
[INFO] [stdout]   --> src/latex_interpreter/ast.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum NodeType {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 21 |     DoubleBackSlash, //  \\
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NodeType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/latex_interpreter/ast.rs:75:12
[INFO] [stdout]     |
[INFO] [stdout]  46 | impl Node {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  75 |     pub fn dummy_ptr() -> NodePtr {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn dummy() -> Node {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn get_children_nodeptr(node: NodePtr) -> Vec<NodePtr> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn get_nth_child(&self, id: usize) -> Option<NodePtr> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn get_nth_child_nodeptr(node: NodePtr, id: usize) -> Option<NodePtr> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn is_container(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub fn is_container_nodeptr(node: NodePtr) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn is_content(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn is_content_nodeptr(node: NodePtr) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Walker` is never constructed
[INFO] [stdout]    --> src/latex_interpreter/ast.rs:316:12
[INFO] [stdout]     |
[INFO] [stdout] 316 | pub struct Walker {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_root`, `cur_loc`, `next_sibling`, `first_child`, and `next_content_node` are never used
[INFO] [stdout]    --> src/latex_interpreter/ast.rs:322:12
[INFO] [stdout]     |
[INFO] [stdout] 321 | impl Walker {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 322 |     pub fn from_root(root: NodePtr) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 334 |     pub fn cur_loc(&self) -> NodePtr {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 366 |     pub fn next_sibling(&self) -> Option<NodePtr> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 375 |     pub fn first_child(&self) -> Option<NodePtr> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     pub fn next_content_node(&mut self) -> Option<NodePtr> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line_width`, `require_newline_before`, and `require_newline_after` are never read
[INFO] [stdout]   --> src/latex_interpreter/formatter.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct FormatState {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     line_width: usize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 31 |
[INFO] [stdout] 32 |     require_newline_before: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     require_newline_after: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FormatState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `set_not_in_preamble`, `newline_before`, and `newline_after` are never used
[INFO] [stdout]   --> src/latex_interpreter/formatter.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl FormatState {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 37 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     fn set_not_in_preamble(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     fn newline_before(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn newline_after(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_vec_string` is never used
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl FormatRes {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 140 |     fn to_vec_string(&self) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_testing` is never used
[INFO] [stdout]   --> src/latex_interpreter/parser.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn parse_testing(input: &[Token]) -> Result<NodePtr, Box<dyn Error>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_error`
[INFO] [stdout]    --> src/latex_interpreter/error.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let token_error = TokenError::new(token, "Test error");
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `poke2` is never used
[INFO] [stdout]    --> src/latex_interpreter/parser.rs:116:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub fn poke2(
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scan_str` is never used
[INFO] [stdout]    --> src/latex_interpreter/scanner.rs:312:8
[INFO] [stdout]     |
[INFO] [stdout] 312 | pub fn scan_str(input: &str) -> Vec<Token> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `to_string_from_vec` is never used
[INFO] [stdout]   --> src/latex_interpreter/token.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | impl Token {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn to_string_from_vec(tokens: &[Token]) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Token` is never constructed
[INFO] [stdout]  --> src/markdown_interpreter/scanner.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Token {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TokenType` is never used
[INFO] [stdout]   --> src/markdown_interpreter/scanner.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum TokenType {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/markdown_interpreter/scanner.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl Token {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 52 |     pub fn new(token_type: TokenType, lexeme: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scan` is never used
[INFO] [stdout]   --> src/markdown_interpreter/scanner.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn scan(source: &str) -> Vec<Token> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_beginning_of_group` is never used
[INFO] [stdout]    --> src/markdown_interpreter/scanner.rs:231:4
[INFO] [stdout]     |
[INFO] [stdout] 231 | fn is_beginning_of_group(source: &[char], index: usize) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_beginning_of_line` is never used
[INFO] [stdout]    --> src/markdown_interpreter/scanner.rs:260:4
[INFO] [stdout]     |
[INFO] [stdout] 260 | fn is_beginning_of_line(source: &[char], index: usize) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `index_to_end_of_cur_line` is never used
[INFO] [stdout]    --> src/markdown_interpreter/scanner.rs:286:4
[INFO] [stdout]     |
[INFO] [stdout] 286 | fn index_to_end_of_cur_line(source: &[char], index: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `from_str` and `dummy` are never used
[INFO] [stdout]    --> src/utils.rs:81:12
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl FileInput {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout]  81 |     pub fn from_str(file_path: &str, content: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn dummy() -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/latex_interpreter/parser.rs:159:29
[INFO] [stdout]     |
[INFO] [stdout] 159 |     let mut ret = Node::new("".into(), NodeType::SquareBracketArg);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/latex_interpreter/parser.rs:187:29
[INFO] [stdout]     |
[INFO] [stdout] 187 |     let mut ret = Node::new("".into(), NodeType::CurlyBracketArg);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/latex_interpreter/parser.rs:229:33
[INFO] [stdout]     |
[INFO] [stdout] 229 |     let mut op_root = Node::new("".into(), NodeType::Operation);
[INFO] [stdout]     |                                 ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:185:29
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub fn format(ast: NodePtr, config: &Config) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]     |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ret`
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:368:25
[INFO] [stdout]     |
[INFO] [stdout] 368 |                     let ret = format_command(c.clone(), state);
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_ret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:384:5
[INFO] [stdout]     |
[INFO] [stdout] 384 |     state: &mut FormatState,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:396:5
[INFO] [stdout]     |
[INFO] [stdout] 396 |     state: &mut FormatState,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:406:23
[INFO] [stdout]     |
[INFO] [stdout] 406 | fn format_inline_math(node: NodePtr, state: &mut FormatState) -> Vec<String> {
[INFO] [stdout]     |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:406:38
[INFO] [stdout]     |
[INFO] [stdout] 406 | fn format_inline_math(node: NodePtr, state: &mut FormatState) -> Vec<String> {
[INFO] [stdout]     |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:410:24
[INFO] [stdout]     |
[INFO] [stdout] 410 | fn format_display_math(node: NodePtr, state: &mut FormatState) -> Vec<String> {
[INFO] [stdout]     |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:410:39
[INFO] [stdout]     |
[INFO] [stdout] 410 | fn format_display_math(node: NodePtr, state: &mut FormatState) -> Vec<String> {
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:414:16
[INFO] [stdout]     |
[INFO] [stdout] 414 | fn format_envr(node: NodePtr, state: &mut FormatState) -> Vec<String> {
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:414:31
[INFO] [stdout]     |
[INFO] [stdout] 414 | fn format_envr(node: NodePtr, state: &mut FormatState) -> Vec<String> {
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:418:19
[INFO] [stdout]     |
[INFO] [stdout] 418 | fn format_command(node: NodePtr, state: &mut FormatState) -> Vec<String> {
[INFO] [stdout]     |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:418:34
[INFO] [stdout]     |
[INFO] [stdout] 418 | fn format_command(node: NodePtr, state: &mut FormatState) -> Vec<String> {
[INFO] [stdout]     |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:422:21
[INFO] [stdout]     |
[INFO] [stdout] 422 | fn format_operation(node: NodePtr, state: &mut FormatState) -> Vec<String> {
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:422:36
[INFO] [stdout]     |
[INFO] [stdout] 422 | fn format_operation(node: NodePtr, state: &mut FormatState) -> Vec<String> {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `tex-helper` (bin "tex-helper") due to 3 previous errors; 43 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `source_path`
[INFO] [stdout]   --> src/latex_interpreter/scanner.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let source_path = file_input.get_file_path();
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compile` is never used
[INFO] [stdout]  --> src/cli/compile.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn compile(main_file_path: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DebugLevel` is never used
[INFO] [stdout]   --> src/config.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum DebugLevel{
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_latex_binary` is never used
[INFO] [stdout]   --> src/config.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Config {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn get_latex_binary(&self) -> Option<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DoubleBackSlash` is never constructed
[INFO] [stdout]   --> src/latex_interpreter/ast.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum NodeType {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 21 |     DoubleBackSlash, //  \\
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NodeType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/latex_interpreter/ast.rs:75:12
[INFO] [stdout]     |
[INFO] [stdout]  46 | impl Node {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  75 |     pub fn dummy_ptr() -> NodePtr {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn dummy() -> Node {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn get_children_nodeptr(node: NodePtr) -> Vec<NodePtr> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn get_nth_child(&self, id: usize) -> Option<NodePtr> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn get_nth_child_nodeptr(node: NodePtr, id: usize) -> Option<NodePtr> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn is_container(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub fn is_container_nodeptr(node: NodePtr) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn is_content(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn is_content_nodeptr(node: NodePtr) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Walker` is never constructed
[INFO] [stdout]    --> src/latex_interpreter/ast.rs:316:12
[INFO] [stdout]     |
[INFO] [stdout] 316 | pub struct Walker {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_root`, `cur_loc`, `next_sibling`, `first_child`, and `next_content_node` are never used
[INFO] [stdout]    --> src/latex_interpreter/ast.rs:322:12
[INFO] [stdout]     |
[INFO] [stdout] 321 | impl Walker {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 322 |     pub fn from_root(root: NodePtr) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 334 |     pub fn cur_loc(&self) -> NodePtr {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 366 |     pub fn next_sibling(&self) -> Option<NodePtr> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 375 |     pub fn first_child(&self) -> Option<NodePtr> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     pub fn next_content_node(&mut self) -> Option<NodePtr> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line_width`, `require_newline_before`, and `require_newline_after` are never read
[INFO] [stdout]   --> src/latex_interpreter/formatter.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct FormatState {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     line_width: usize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 31 |
[INFO] [stdout] 32 |     require_newline_before: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     require_newline_after: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FormatState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `set_not_in_preamble`, `newline_before`, and `newline_after` are never used
[INFO] [stdout]   --> src/latex_interpreter/formatter.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl FormatState {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 37 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     fn set_not_in_preamble(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     fn newline_before(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn newline_after(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_vec_string` is never used
[INFO] [stdout]    --> src/latex_interpreter/formatter.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl FormatRes {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 140 |     fn to_vec_string(&self) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `poke2` is never used
[INFO] [stdout]    --> src/latex_interpreter/parser.rs:116:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub fn poke2(
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Token` is never constructed
[INFO] [stdout]  --> src/markdown_interpreter/scanner.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Token {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TokenType` is never used
[INFO] [stdout]   --> src/markdown_interpreter/scanner.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum TokenType {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/markdown_interpreter/scanner.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl Token {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 52 |     pub fn new(token_type: TokenType, lexeme: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scan` is never used
[INFO] [stdout]   --> src/markdown_interpreter/scanner.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn scan(source: &str) -> Vec<Token> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_beginning_of_group` is never used
[INFO] [stdout]    --> src/markdown_interpreter/scanner.rs:231:4
[INFO] [stdout]     |
[INFO] [stdout] 231 | fn is_beginning_of_group(source: &[char], index: usize) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_beginning_of_line` is never used
[INFO] [stdout]    --> src/markdown_interpreter/scanner.rs:260:4
[INFO] [stdout]     |
[INFO] [stdout] 260 | fn is_beginning_of_line(source: &[char], index: usize) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `index_to_end_of_cur_line` is never used
[INFO] [stdout]    --> src/markdown_interpreter/scanner.rs:286:4
[INFO] [stdout]     |
[INFO] [stdout] 286 | fn index_to_end_of_cur_line(source: &[char], index: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/latex_interpreter/parser.rs:159:29
[INFO] [stdout]     |
[INFO] [stdout] 159 |     let mut ret = Node::new("".into(), NodeType::SquareBracketArg);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/latex_interpreter/parser.rs:187:29
[INFO] [stdout]     |
[INFO] [stdout] 187 |     let mut ret = Node::new("".into(), NodeType::CurlyBracketArg);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/latex_interpreter/parser.rs:229:33
[INFO] [stdout]     |
[INFO] [stdout] 229 |     let mut op_root = Node::new("".into(), NodeType::Operation);
[INFO] [stdout]     |                                 ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<&str as Into<&str>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `tex-helper` (bin "tex-helper" test) due to 3 previous errors; 41 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "d5eda3941f35d57dfce58e142392cc18e8b0cb6f6add0e794a751128ec29a875", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d5eda3941f35d57dfce58e142392cc18e8b0cb6f6add0e794a751128ec29a875", kill_on_drop: false }`
[INFO] [stdout] d5eda3941f35d57dfce58e142392cc18e8b0cb6f6add0e794a751128ec29a875
